<!DOCTYPE html>
<html lang=''>

<head>
    <meta charset='UTF-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>Document</title>
    <script src='./vue.js'></script>
</head>

<body>
    <div id='app'>
        <button @click="count++">{{count}}</button>
    </div>
</body>
<script>
    const app = Vue.createApp({
        data () {
            return {
                count: 100
            }
        },
        // 在组合式 API 中，setup 会替代掉 beforeCreate，created 两个生命周期
        beforeCreate () {
            console.log('创建之前');
        },
        created () {
            console.log('创建完成');
            // 老程序员，可能会在这里进行数据请求
        },
        beforeMount () {
            console.log('挂载之前');
        },
        mounted () {
            console.log('挂载完成');
            // 数据请求写在这里
        },
        beforeUpdate () {
            console.log('更新之前');
        },
        updated () {
            console.log('更新完成');
        },
        beforeUnmount () {
            console.log('卸载之前');
        },
        unmounted () {
            console.log('卸载完成');
            // 清除一些影响性能的函数或者说监听的事件
        },
    })
    app.mount('#app')


    setTimeout(() => {
        // 解绑一个组件
        app.unmount('#app')
    }, 5000)
</script>

</html>